home *** CD-ROM | disk | FTP | other *** search
/ HamCall (April 1991) / HAMCALL CD-ROM (Buckmaster)(April 1991).BIN / amateur / icom / ci_v.bas < prev    next >
BASIC Source File  |  1990-10-14  |  6KB  |  167 lines

  1.           1 REM ***************** CSMA_CD2 ****************
  2.           2 REM  File name: CSMA_CD2.TXT
  3.           3 REM  This routine demonstrates basic control
  4.           4 REM  functions over those ICOM radios
  5.           5 REM  equipped with the CSMA/CD CI-V serial 
  6.           6 REM  data bus.  It is written in GW Basic and
  7.           7 REM  designed to run on any IBM (R) PC or
  8.           8 REM  clone.  It was written with the novice
  9.           9 REM  in mind and should be easy to implement.
  10.           12 REM  ******************************************
  11.           13 REM
  12.           14 REM     BY: Charles F. Bahr
  13.           15 REM         N7ICW
  14.           16 REM
  15.           17 REM
  16.           18 REM
  17.           20 SCREEN 0,0:WIDTH 80
  18.           30 KEY ON:CLS:CLOSE
  19.           40 DEFINT A-Z:
  20.           50 REM MENU=5 'VALUE OF MENU KEY(^E)
  21.           60 LOCATE 1,1
  22.           70 INPUT "WHICH RADIO (0 TO QUIT)";RADIO
  23.           80 IF RADIO=0 THEN 1520
  24.           90 IF RADIO=275 THEN A = 16
  25.           100 IF RADIO=375 THEN A = 18
  26.           110 IF RADIO=475 THEN A = 20
  27.           120 IF RADIO=575 THEN A = 22
  28.           130 IF RADIO=735 THEN A = 4
  29.           140 IF RADIO=761 THEN A = 30
  30.           150 IF RADIO=725 THEN A = 40
  31.           160 IF RADIO=765 THEN A = 13
  32.           170 IF RADIO=781 THEN A = 38
  33.           180 IF RADIO=7000 THEN A = 8
  34.           190 IF RADIO=9000 THEN A = 42
  35.           200 IF A=42 THEN GOSUB 1120
  36.           210 CLS
  37.           220 PRINT "CURRENT RIG IS THE IC"RADIO
  38.           230 LOCATE 2,1
  39.           240 PRINT "ENTER FUNCTION TO SET: VFO; MODE; FREQ; OR MEM "
  40.           250 INPUT  "(Q TO QUIT N TO SELECT DIFFERENT RADIO...)";A$
  41.           260 IF A$= "" THEN 220
  42.           270 IF A$= "FREQ" THEN GOSUB 340
  43.           280 IF A$= "MODE" THEN GOSUB 670
  44.           290 IF A$= "MEM" THEN GOSUB 970
  45.           300 IF A$= "VFO" THEN GOSUB 840
  46.           310 IF A$="N" THEN 20
  47.           320 IF A$="Q" THEN 1520
  48.           330 GOTO 210
  49.           340 REM ******************************
  50.           350 REM     SET FREQUENCY
  51.           360 REM ******************************
  52.           370 LOCATE 1,1:CLS
  53.           380 S=T=U=V=W=0
  54.           390 INPUT "NEW FREQUENCY:",F!
  55.           400 F!=F!+.000001
  56.           410 IF A=4 THEN F!=F!*100
  57.           420 N=INT(F!/100)
  58.           430 S=(6*FIX(N/10))+N
  59.           440 N=INT(F!)-N*100
  60.           450 T=(6*FIX(N/10))+N
  61.           460 F!=F!-INT(F!)
  62.           470 N=INT(F!*100)
  63.           480 U=(6*FIX(N/10))+N
  64.           490 F!=((F!*100)-N)*100
  65.           500 N=INT(F!)
  66.           510 V=(6*FIX(N/10))+N
  67.           520 IF A<> 20 AND A<> 42 THEN GOTO 610
  68.           530 F!=(F!-N)*100
  69.           540 W=(6*FIX(N/10))+N
  70.           550 COMFIL$= "COM1:1200,N,8,,CS0,DS0,CD0"
  71.           560 OPEN COMFIL$ AS #1
  72.           570 PRINT #1,CHR$(254)+CHR$(254)+CHR$(A)+CHR$(241)+CHR$(5);
  73.           580 PRINT #1,CHR$(W)+CHR$(V)+CHR$(U)+CHR$(T)+CHR$(S)+CHR$(253)
  74.           590 CLOSE
  75.           600 GOTO 660
  76.           610 COMFIL$= "COM1:1200,N,8,,CS0,DS0,CD0"
  77.           620 OPEN COMFIL$ AS #1
  78.           630 PRINT #1,CHR$(254)+CHR$(254)+CHR$(A)+CHR$(241)+CHR$(5);
  79.           640 PRINT #1,CHR$(V)+CHR$(U)+CHR$(T)+CHR$(S)+CHR$(253)
  80.           650 CLOSE
  81.           660 RETURN
  82.           670 REM **************************
  83.           680 REM          SET MODE
  84.           690 REM **************************
  85.           700 LOCATE 1,1:CLS
  86.           710 INPUT "NEW MODE: ",MODE$
  87.           720 IF MODE$= "LSB" THEN D = 0
  88.           730 IF MODE$= "USB" THEN D = 1
  89.           740 IF MODE$= "AM" THEN D = 2
  90.           750 IF MODE$= "CW" THEN D = 3
  91.           760 IF MODE$= "RTTY" THEN D=4
  92.           770 IF MODE$= "FM" THEN D = 5
  93.           780 COMFIL$= "COM1:1200,N,8,,CS0,DS0,CD0"
  94.           790 OPEN COMFIL$ AS #1
  95.           800 PRINT #1,CHR$(254)+CHR$(254)+CHR$(A)+CHR$(241);
  96.           810 PRINT#1,CHR$(6)+CHR$(D)+CHR$(253)
  97.           820 CLOSE
  98.           830 RETURN
  99.           840 REM **************************
  100.           850 REM          SET VFO
  101.           860 REM **************************
  102.           870 LOCATE 1,1:CLS
  103.           880 INPUT "NEW VFO: ",VFO$
  104.           890 D=0
  105.           900 IF VFO$= "B" THEN D = 1
  106.           910 COMFIL$= "COM1:1200,N,8,,CS0,DS0,CD0"
  107.           920 OPEN COMFIL$ AS #1
  108.           930 PRINT #1,CHR$(254)+CHR$(254)+CHR$(A)+CHR$(241);
  109.           940 PRINT#1,CHR$(7)+CHR$(D)+CHR$(253)
  110.           950 CLOSE
  111.           960 RETURN
  112.           970 REM **************************
  113.           980 REM          SET MEMORY
  114.           990 REM **************************
  115.           1000 LOCATE 1,1:CLS
  116.           1010 INPUT "WHICH MEMORY: ",D
  117.           1040 C= INT(D/10)
  118.           1050 D= D + (6*C)
  119.           1060 COMFIL$= "COM1:1200,N,8,,CS0,DS0,CD0"
  120.           1070 OPEN COMFIL$ AS #1
  121.           1080 PRINT #1,CHR$(254)+CHR$(254)+CHR$(A)+CHR$(241);
  122.           1090 PRINT#1,CHR$(8)+CHR$(D)+CHR$(253)
  123.           1100 CLOSE
  124.           1110 RETURN
  125.           1120 REM ****************************
  126.           1130 REM      9000 UNIQUE
  127.           1140 REM ****************************
  128.           1150 LOCATE 1,1:CLS
  129.           1160 INPUT "RF, AF, SQ, METER";R$
  130.           1170 IF R$="RF" THEN D=1
  131.           1180 IF R$="AF" THEN D=2
  132.           1190 IF R$="SQ" THEN D=3
  133.           1200 IF R$="METER" THEN 1330
  134.           1210 IF R$="" THEN 1500
  135.           1220 INPUT "HOW MUCH, (1 TO 255)";L
  136.           1230 COMFIL$= "COM1:1200,N,8,,CS0,DS0,CD0"
  137.           1240 OPEN COMFIL$ AS #1
  138.           1250 PRINT #1,CHR$(254)+CHR$(254)+CHR$(42)+CHR$(241)+CHR$(20);
  139.           1260 PRINT#1,CHR$(D)+CHR$(L)+CHR$(253)
  140.           1270 CLOSE
  141.           1280 INPUT "MORE? (Y/N)...",M$
  142.           1290 IF M$="Y" THEN 1220
  143.           1300 INPUT "ANOTHER FUNCTION (Y/N)...";M$
  144.           1310 IF M$="Y" THEN 1150
  145.           1320 GOTO 1500
  146.           1330 CLS
  147.           1340 LOCATE 1,1
  148.           1350 COMFIL$= "COM1:1200,N,8,,CS0,DS0,CD0"
  149.           1360 OPEN COMFIL$ AS #1
  150.           1370 PRINT #1,CHR$(254)+CHR$(254)+CHR$(42)+CHR$(241)+CHR$(21);
  151.           1380 PRINT#1,CHR$(2)+CHR$(253)
  152.           1390 FOR X=1 TO 17
  153.           1400 A$=INPUT$(1,#1)
  154.           1410 B=ASC(A$)
  155.           1420 C$=HEX$(B)
  156.           1430 IF X>14 AND X<17 THEN PRINT C$;
  157.           1440 E$=INKEY$: IF E$<>"" THEN 1480
  158.           1450 NEXT X
  159.           1460 CLOSE
  160.           1470 GOTO 1340
  161.           1480 CLOSE
  162.           1490 GOTO 1300
  163.           1500 CLOSE
  164.           1510 RETURN
  165.           1520 CLOSE
  166.           1530 END
  167.